7e829f1887535605eba6d8cfc84bdf6d908ec07e,devicehive-frontend/src/main/java/com/devicehive/websockets/handlers/CommandHandlers.java,CommandHandlers,processCommandInsert,#JsonObject#WebSocketSession#,136

Before Change


        if (deviceGuid == null) {
            device = principal.getDevice();
        } else {
           device = deviceService.findByGuidWithPermissionsCheck(deviceGuid, principal);
        }

        if (device == null) {
            throw new HiveException(String.format(Messages.DEVICE_NOT_FOUND, deviceGuid), SC_NOT_FOUND);
        }
        if (deviceCommand == null) {

After Change



        logger.debug("command/insert action for {}, Session ", deviceGuid, session.getId());

        Set<DeviceVO> devices = new HashSet<>();
        if (deviceGuid == null) {
            devices = principal.getDevices();
        } else {
           devices.add(deviceService.findByGuidWithPermissionsCheck(deviceGuid, principal));
        }

        if (devices.isEmpty()) {
            throw new HiveException(String.format(Messages.DEVICE_NOT_FOUND, deviceGuid), SC_NOT_FOUND);
        }
        if (deviceCommand == null) {
            throw new HiveException(Messages.EMPTY_COMMAND, SC_BAD_REQUEST);
        }
        final UserVO user = principal.getUser();

        WebSocketResponse response = new WebSocketResponse();
        for (DeviceVO device : devices) {
            commandService.insert(deviceCommand, device, user)
                    .thenApply(cmd -> {
                        commandUpdateSubscribeAction(cmd.getId(), device.getGuid(), session);